<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>


    <script>
        //js 没有块级作用域
        //在声明的时候定义作用域；
        // 全局作用域/局部作用(函数作用域)
        // 全局作用域下声明的变量，全局变量,自任何地方可以被访问；
        // 局部作用域下声明的变量，局部变量，外部不可以访问函数内部变量；

        //作用域链:现在自己的作用域下进行查找，如果没有就逐级查找，直到顶层作用域；

        // function fn() {
        //     var a = 10;
        // }
        // fn()
        // console.log(a)

        // var num = 10;

        // function fn() {

        //     function f1() {

        //         function f2() {
        //             console.log(num) //标识符/变量
        //         }
        //     }
        // }
        // var a;

        // function a() {
        //     return 'hello'
        // }
        // console.log(a); //a函数
        // a = 1;
        // console.log(a); //1

        // // function a() {
        // //     return "a"
        // // }
        // console.log(a) //1 
        // var a = 3;
        // console.log(a); //3


        // console.log(a); //3 
        // a();
        // console.log(a)
    </script>
    <script>
        // var a = 1;

        // function fn() {
        //     console.log(a); //1
        //     a = 2; //隐式全局变量
        // }
        // fn();
        // console.log(a) //2

        // var a = 1;

        // function fn(a) {
        //     console.log(a); //1
        //     a = 2;
        // }
        // fn(a);
        // console.log(a) //1
    </script>
</body>

</html>